import { administrator } from '../../src/lib/Member'
import { okMsg, errorMsg } from "../../src/utils/socket-message";

export default function(client, io) {

  // 删除 - 管理员列表
  client.on('administrator:remove', function(data, cb) {
    const { member } = data;
    const { classId = 'root' } = data.room;
    const error = (msg) => errorMsg('administrator:remove', msg);
    console.log('删除 - 管理员列表: => ', classId);

    if (!classId) {
      console.error('{ classId } 房间 ID 不能为空!');
      return cb && cb(error(`{ classId: ${classId} } 房间 ID 不能为空!`))
    }

    const classMemberArray: Map<string, any> = administrator.get(classId);
    if (!classMemberArray) {
      console.error('房间没找到，请使用正确的 classId !');
      return cb && cb(error(`房间没找到，请使用正确的 { classId: ${classId} } !`))
    }

    if (!classMemberArray.has(member.userId)) {
      console.error('用户不存在 { classId } 对应的房间!');
      return cb && cb(error(`用户不存在 { classId: ${classId} } 对应的房间!`))
    }

    classMemberArray.delete(member.userId)

    cb && cb(okMsg('administrator:get', {
      data: classMemberArray,
      message: '用户删除成功！'
    }))
  });
}
